package com.niuwa.p2p.dao.borrowinfomg.enterpriseinfomg;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.dao.MyBatisDao;
import com.niuwa.p2p.entity.channel.Corporation;
import com.niuwa.p2p.entity.enterprise.CorpBorrowHistoryVO;
import com.niuwa.p2p.entity.enterprise.EnterpriseBlackVO;
import com.niuwa.p2p.vo.borrowinfomg.enterpriseinfomg.BorrowCorpVo;
import com.niuwa.p2p.vo.borrowinfomg.enterpriseinfomg.CorpBasicInfoVo;

@MyBatisDao
public interface IEnterpriseinfoMgDao {
	
	/**
	 * 统计借款企业个数 根据paramMap，统计出需要的借款企业数 例：适用于分页的时候，选取当前页的渠道客户条数
	 * 
	 * @param paramMap
	 *            过滤得条件Map
	 * @return 总客户数
	 */
	public int count(Map<String, Object> paramMap);

	/**
	 * 选取借款企业集合 根据paramMap，选取需要的借款企业集合 例：适用于分页的时候，选取当前页的渠道客户集合
	 * 
	 * @param paramMap
	 *            过滤得条件Map
	 * @return List<User> 渠道客户集合
	 */
	public List<BorrowCorpVo> selectBorrowCorpBySelective(Map<String, Object> paramMap);
		
	
	/**
	 * 通过渠道编码, 选取企业基本信息集合
	 * @param corpCode 企业编号
	 * @return ChannelBasicInfoVo 渠道基本信息
	 */
	public CorpBasicInfoVo selectCorpBasicInfoByChannelCode(String corpCode);
	
	/**
	 * 添加黑名单
	 * @param enterpriseBlackVO
	 */
	public void addBlackList(EnterpriseBlackVO enterpriseBlackVO);
	
	/**
	 * 查询借款历史记录
	 * @param paramMap
	 * @return
	 */
	public List<CorpBorrowHistoryVO> selectBorrowHistory(Map<String,Object> paramsMap);
	
	/**
	 * 历史记录总数查询
	 * @param paramsMap
	 * @return
	 */
	public int countBorrowHistory(Map<String,Object> paramsMap);
}
